using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using LocalizationTest.Tools;

namespace LocalizationTest
{
  public abstract class WorldState : ICloneable
  {
    abstract public void Move(WorldState relativeState);
    abstract public void Kidnap();
    abstract public void DrawShaded(double shade, Color color, string drawingID);
    abstract public void Draw(double probability, string drawingID);
    abstract public void DrawWithIntensity(int intensity, string drawingID, double rasterWidth);
    abstract public void DrawHighlighted(string drawingID, Color color);
    abstract public void DrawConnectingLine(WorldState otherWorldstate, string drawingID, Color color);
    abstract public List<FunctionWorldState> CreateListOfWorldStates(WorldState minimum, WorldState maximum, WorldState step);
    abstract public object Clone();
    abstract public override string ToString();
    abstract public WorldState Parse(string str);
    abstract public double[] ToDoubleArray();
    abstract public void FromDoubleArray(double[] doubleArray);
  }
}
